SAP GUI controls
Pega Robotic Automation supports integration with the following SAP GUI controls. The specific properties, events, and methods for these controls are provided in the following tables.
|
During interrogation, the Interrogation Form is the active window. The SAP GUI application hides some interface elements when it is not the active window. For example, the Main Menu bar at the top of the SAP GUI window becomes hidden. Use the following interrogation steps to interrogate these menu options.
To interrogate the menu items at the top of the SAP GUI application, perform the following steps:
Right-click the main form, such as the SAP Front Session Form, in Object Explorer
Select Add Menu Items. The Add Menu Items window displays.
Select the base menu items such as Menu, Edit, Favorites, Extras, System, and Help. Studio uses the Menu Item Path Match Rule to match SAP menu targets.
To add menu sub-items, perform the following steps:
Click the menu items in the SAP GUI application.
Return to the Add Menu Items dialog and click Refresh. The sub-items for the menu options display.
Other interface elements are hidden when the SAP GUI is not the active window. Here is an example:
This icon displays for some active fields (data input fields that have focus). When you click this icon, a dialog displays a list of selection options for the current field. You cannot interrogate this icon directly since it only appears when the application is active (has focus). If you need to automate the action of clicking this icon to display the selection options for a field, use automation logic to perform the equivalent keystroke (F4). Consult the SAP GUI Help system for using keyboard methods to enter commands instead of using mouse clicks.
Base Control Properties, Events, and Methods
For the owner-drawn SAP targets, Studio creates a base control based on OpenSpan.Adapters.SAP.Controls. The properties, events, and methods for the base control are listed below.
Additional properties, events, and methods for the individual supported SAP control types listed above (SAP Supported Controls), are listed in the sections that follow.
Properties
Property |
Description |
Bottom |
Gets the distance, in pixels, between the bottom edge of the control and the top edge of its container's client area. |
BoundsRectangle |
Gets the size and location of the control including its non-client elements, in pixels, relative to the parent control. Type: Rectangle |
ClientRectangle |
Gets the rectangle that represents the client area of the control. Type: Rectangle |
Enabled |
Gets or sets a value that indicates whether the control can respond to user interaction. (Boolean) |
Focused |
Gets a value (Boolean) indicating whether the control has input focus. |
Location |
Gets the location that represents the top left area of the control. Type: Point |
NativeControlName |
Gets the name assigned by the SAP application to the control. This property value is empty if the system cannot extract a name from SAP. This property is always empty if the SAP session connection is set to Low Speed Connection (Reduced Network Traffic). Object names are not transmitted in this mode. |
ScreenRectangle |
Gets the rectangle that represents the screen area of the control. Type: Rectangle |
Size |
Gets the size of the control. Type: Size |
Text |
Gets the text associated with this control. Type: String |
VirtualClassName |
Gets a string value representing the Virtual Class set by Studio for the target. The Virtual Class name begins with the text: "SAP_". |
Visible |
Gets a value that indicates whether the control is displayed. (Boolean) |
Events
Event |
Description |
Click |
Occurs when the control is clicked. |
Clicking |
Occurs when the control is in the process of clicking. |
DoubleClick |
Occurs when the control is double-clicked. |
DoubleClicking |
Occurs when the control is in the process of double clicking. |
GotFocus |
Occurs when the control receives focus. |
KeyDown |
Occurs when a key is pressed while the control has focus. |
KeyPress |
Occurs when a key is pressed while the control has focus. |
KeyUp |
Occurs when a key is released while the control has focus. |
LostFocus |
Occurs when the control loses focus. |
MouseDown |
Occurs when the mouse pointer is over the control and a mouse button is pressed. |
MouseUp |
Occurs when the mouse pointer is over the control and a mouse button is released. |
RightClick |
Occurs when the control is right-clicked. |
RightClicking |
Occurs when the control is being right-clicked. |
VisibleChanged |
Occurs when the visibility the control is changed. Note: This event is not currently implemented. |
Methods
Method |
Description |
Parameters |
Return Type |
Activate |
Activates the control and gives it focus. |
None |
Void |
Focus |
Causes the element to receive the focus and executes the code specified by the GotFocus event. |
None |
Void |
GetTextBuffer |
Used to get a large text buffer from a control. |
Int32 bufferSize |
String |
PerformClick |
Simulates a click by causing the Click event to fire. The event is fired asynchronously. The system executes asynchronous clicks on a separate thread. Control returns to the calling thread immediately. |
None |
Void |
PerformClick |
Simulates a click by causing the Click event to fire. Click is performed at the x and y location specified by the parameters. The event is fired asynchronously. The system executes asynchronous clicks on a separate thread. Control returns to the calling thread immediately. |
Int32 x, Int32 y |
Void |
PerformDoubleClick |
Simulates a double-click by causing the DoubleClick event to fire. The event is fired asynchronously. The system executes asynchronous clicks on a separate thread. Control returns to the calling thread immediately. |
None |
Void |
PerformDoubleClick |
Simulates a double-click by causing the DoubleClick event to fire. Click is performed at the x and y location specified by the parameters. The event is fired asynchronously. The system executes asynchronous clicks on a separate thread. Control returns to the calling thread immediately. |
Int32 x, Int32 y |
Void |
PerformRightClick |
Simulates a right-click by causing the RightClick event to fire. The event is fired asynchronously. The system executes asynchronous clicks on a separate thread. Control returns to the calling thread immediately. |
None |
Void |
PerformRightClick |
Simulates a right-click by causing the RightClick event to fire. RightClick is performed at the x and y location specified by the parameters. The event is fired asynchronously. The system executes asynchronous clicks on a separate thread. Control returns to the calling thread immediately. |
Int32 x, Int32 y
|
Void
|
ShowContextMenu |
Displays a shortcut menu associated with the control by calling PerformRightClick() method. |
None |
Void |
ShowContextMenu |
Displays a shortcut menu associated with the control by calling PerformRightClick(x,y) method. |
Int32 x, Int32 y |
Void |
Properties
Property |
Description |
Text |
Gets or sets the text contents of the text box. (String type) |
TextLength |
Gets the number of characters and spaces of the text string in the text box. (Int32) |
MaxLength |
Gets the maximum number of characters that can be manually entered into the text box. (Int32) |
Enabled |
Gets or sets a value that indicates whether this text box is enabled in the user interface. (Boolean) |
ReadOnly |
Gets or sets a value that indicates whether the text box is read-only to a user interacting with the control. (Boolean) |
IsPassword |
Not supported in Windows Presentation Foundation (WPF). Gets a value indicating that the characters entered in the text box are replaced with the (PasswordChar). (Boolean) |
PasswordChar |
Applies when the IsPassword value is True, this property returns the text substitute character which is always "*" for SAP. |
Events
Event |
Description |
TextChanged |
Occurs when the text in the text box are updated, edited, or deleted. |
Copy |
Occurs when the Copy command is used to copy text from the text box. |
Cut |
Occurs when the Cut command is used to remove text from the text box. |
Paste |
Occurs when the Paste command is used to copy text from the Windows clipboard to the text box. |
Methods
Method |
Description |
Parameters |
Return Type |
AppendText |
Adds the text specified in the text parameter to the text box. |
String text |
Void |
Clear |
Removes the contents of the text box. |
None |
Void |
Properties
Property |
Description |
Checked |
Gets or set a value that indicates whether the control is in the checked state. (Boolean type) |
CheckState |
Gets or sets the state of the check box. (Boolean) |
AutoCheck |
Gets a value that indicates whether the Checked or CheckState values and the check box's appearance are automatically changed when the check box is clicked. This value is always True. (Boolean). |
ThreeState |
Gets a value that indicates whether the check box will allow three check states rather than two. This value is always False. (Boolean) |
Events
Events |
Description |
CheckedChanged |
Occurs when the value of the Checked property changes. |
CheckStateChanged |
Occurs when the value of the CheckState property changes. |
Properties
Property |
Description |
ControlEnabled |
Gets or sets a value that indicates whether the control can respond to user interaction. (Boolean) |
Count |
Gets the count. (int) |
Items |
Gets a string collection representing the collection of the items contained in the ComboBox. |
SelectedIndex |
Gets or sets the index specifying the currently selected item. (Int32) |
Events
Events |
Description |
SelectedIndexChanged |
Occurs when the SelectedIndex property has changed. |
Methods
Method |
Description |
Parameters |
Return Type |
PerformClick |
Clicks the control. |
None |
Void |
PerformClickXY |
Clicks the control at the position defined by the x and y point parameters. |
Int32 x, Int32 y |
Void |
Properties
Property |
Description |
ControlEnabled |
Gets a value that indicates whether the ToolBarButton is enabled. (Boolean) |
ControlFocused |
Gets a value that indicates whether the ToolBarButton is focused. Note that for SAP, this value is always False. (Boolean) |
Events
Event |
Description |
Click |
Occurs when the ToolBarButton is clicked. |
Clicking |
Occurs when the ToolBarButton is in the process of clicking. |
MouseDown |
Occurs when the mouse button is pressed down on the ToolBarButton control. |
MouseUp |
Occurs when the mouse button is released from the ToolBarButton control. |
Methods
Method |
Description |
Parameters |
Return Type |
PerformClick |
Raises the Click event for the ToolBarButton. |
None |
Void |
PerformClickXY |
Raises the Click event for the ToolBarButton at the position defined by the x and y point parameters. |
Int32 x, Int32 y |
Void |
Properties
Property |
Description |
AutoCheck |
Gets a value that indicates whether the Checked value and the appearance of the control automatically change when the control is clicked. For SAP radio buttons, this value is always True. (Boolean) |
Checked |
Gets or sets a value that indicates whether the radio buttons is checked. (Boolean) |
CheckState |
Gets or sets the state of the RadioButton. Set to True to select the radio buttons. |
ThreeState |
Gets a value that indicates whether the radio buttons will allow three check states rather than two. For SAP radio buttons, this property is always False. (Boolean) |
Events
Property |
Description |
CheckedChanged |
Occurs when the value of the Checked property changes. |
CheckStateChanged |
Occurs when the value of the CheckState property changes. |
Properties
Property |
Description |
Tabs |
Gets a collection of the Tab objects. (String[] type) |
SelectedIndex |
Gets the index value of the selected tab, or sets the selected tab to the one identified by the index value. |
Events
Event |
Description |
SelectedIndexChanged |
Occurs when the selected tab changes. |
GridView (SAP_Table) and GridView (ActiveX) (SAP_AxGridView)
The SAP client application presents data in grid format using a table and ActiveX grid. When interrogated, Studio creates either the SAP_Table for the standard table target and SAP_AxGridView for the ActiveX grid target. These controls have the following properties, methods, and events:
Properties
Property |
Description |
ColumnCount |
Gets the number of columns currently in the grid. (Int32 type) |
ColumnHeaders |
Gets a list containing the column headers of the grid. The ListLoop component can be used to iterate through the ColumnHeaders output. |
DataTable |
Gets a DataTable containing the rows and columns of the grid. The DateGrid control can be used to send the data from the SAP grid to a Windows form (connect the DataTable output to the DataSource property of the DataGrid component. |
RowCount |
Gets the number of rows currently in the grid. (Int32 type) |
ScrollMaximumVertical |
Sets the minimum value for vertical scrolling. (zero based) |
ScrollMinimumVertical |
Sets the maximum value for vertical scrolling. (zero based) |
ScrollPositionVertical |
Gets or sets the current scroll position or line number. (zero based) |
SelectedColumn |
Gets the index of the selected column (the first column is index 0). (Int32 type) |
SelectedRow |
Gets the index of the selected row (the first row is index 0). (Int32 type) |
Events
Event |
Description |
GridCellClicked |
Occurs when a user clicks on cell or the PerformClick method is called for the cell. |
GridCellDoubleClicked |
Occurs when a user double-clicks on cell or the PerformClick method is called for the cell. |
GridCellSelected |
Occurs when a user selects a cell via mouse-click or keyboard command. For the SAP_AxGridView control, this event is raised after a delay. |
Methods
Note: For the methods that require an expression input, use the expression formats defined for the DataTable.Select method or DataColumn.Expression. See the Microsoft MSDN topics DataTable.Select Method (String) and DataColumn.Expression Property for more information.
For instance, in the FindRow(expression) method, the format for the expression is: [Column Name]='value'. For example, to search for the value "Monica" in the column "FirstName", the expression would be: [FirstName]='Monica'.
Method |
Description |
Parameters |
Return Type |
ClickCell |
Raises the double-click event on the cell specified by the row and column index values. Note: In cases where the grid has been programmed to not accept clicking on cells, you will receive an error when calling this method. |
Int32 row, Int32 column |
Void |
ClickCell |
Raises the double-click event on the cell specified by the row index value and column name. Note: In cases where the grid has been programmed to not accept clicking on cells, you will receive an error when calling this method. |
Int32 row, String columnName |
Void |
ClickCell |
Raises the double-click event on the cell specified by the column index and cell value which satisfies the expression. If more than one cell matches the expression, Studio raises the click event on the cell for the first matching occurrence. Note: In cases where the grid has been programmed to not accept clicking on cells, you will receive an error when calling this method. |
String expression, Int32 column |
Void |
ClickCell |
Raises the double-click event on the cell specified by the column name and cell value which satisfies the expression. If more than one cell matches the expression, Studio raises the click event on the cell for the first matching occurrence. Note: In cases where the grid has been programmed to not accept clicking on cells, you will receive an error when calling this method. |
String expression, String columnName |
Void |
DoubleClickCell! |
Raises the double-click event on the cell specified by the row and column index values. |
Int32 row, Int32 column |
Void |
DoubleClickCell |
Raises the double-click event on the cell specified by the row index value and column name. |
Int32 row, String columnName |
Void |
DoubleClickCell |
Raises the double-click event on the cell specified by the column index and cell value which satisfies the expression. If more than one cell matches the expression, Studio raises the double-click event on the cell for the first matching occurrence. |
String expression, Int32 column |
Void |
DoubleClickCell |
Raises the double-click event on the cell specified by the column name and cell value which satisfies the expression. If more than one cell matches the expression, Studio raises the double-click event on the cell for the first matching occurrence. |
String expression, String columnName |
Void |
EnsureVisible |
Not implemented for the SAP_Table. Use this method to scroll through the grid until the cell identified by the row and column index values is visible. |
Int32 row, Int32 column |
Boolean |
EnsureVisible |
Not implemented for the SAP_Table. Use this method to scroll through the grid until the cell identified by the row index and column name is visible. |
Int32 row, String columnName |
Boolean |
EnsureVisible |
Not implemented for the SAP_Table. Use this method to scroll through the grid until the cell identified by the column index and cell value which satisfies the expression is visible. If more than one cell matches the expression, Studio scrolls to the cell for the first matching occurrence. |
String expression, Int32 column |
Boolean |
EnsureVisible |
Not implemented for the SAP_Table. Use this method to scroll through the grid until the cell identified by the column name and cell value which satisfies the expression is visible. If more than one cell matches the expression, Studio scrolls to the cell for the first matching occurrence. |
String expression, String columnName |
Boolean |
FindRow |
Searches the grid for the column and value specified by the expression and returns the index of the first row where a match is found. |
String expression |
Int32 |
FindRow |
Searches the column specified by the column index parameter for the value specified by the string value parameter and returns the index of the first row where a match is found. |
Int32 column, String value |
Int32 |
FindRow |
Searches the column specified by the column name parameter for the value specified by the string value parameter and returns the index of the first row where a match is found. |
String columnName, String value |
Int32 |
FindRows |
Returns a list of row indexes that match the given expression which defines the column and value. For example, the expression: [Author] LIKE 'A*' returns the indices for all rows in the Author column that start with the letter A. |
String expression |
Int32[] |
GetCellValue |
Returns the value of cell identified by the row index and column index parameters. Note: For the SAP_Table, this method only applies to the following cell types: TextField, ComboBox, and CheckBox. |
Int32 row, Int32 column |
String |
GetCellValue |
Returns the value of cell identified by the row index and column name parameters. Note: For the SAP_Table, this method only applies to the following cell types: TextField, ComboBox, and CheckBox. |
Int32 row, String columnName |
String |
GetCellValue |
Searches the column (designated by the column index parameters) for cell matching the input expression parameter and then returns the value of the cell. Note that if more than one cell matches the expression, Studio returns the value of the cell for the first matching occurrence. Note: For the SAP_Table, this method only applies to the following cell types: TextField, ComboBox, and CheckBox. |
String expression, Int32 column |
String |
GetCellValue |
Searches the column (designated by the column name parameters) for cell matching the input expression parameter and then returns the value of the cell. Note that if more than one cell matches the expression, Studio returns the value of the cell for the first matching occurrence. Note: For the SAP_Table, this method only applies to the following cell types: TextField, ComboBox, and CheckBox. |
String expression, String columnName |
String |
ScrollDown |
Scrolls the view down a given number of lines. |
nLines |
Void |
ScrollUp |
Scrolls the view up a given number of lines. |
nLines |
Void |
SelectCell |
Not implemented for the SAP_AxGridView. Focuses the control located at the specified row and column |
Int32 row, Int32 column |
Void |
SelectCell |
Not implemented for the SAP_AxGridView. Focuses the control located at the specified row and column |
Int32 row, String columnName |
Void |
SelectCell |
Not implemented for the SAP_AxGridView. Focuses the cell in the first row that matches the given expression and column index. |
String expression, Int32 column |
Void |
SelectCell |
Not implemented for the SAP_AxGridView. Focuses the cell in the first row that matches the given expression and column name. |
String expression, String columnName |
Void |
SelectColumn |
Focuses (or removes focus) for the column identified by the column index parameter. To focus the column, set the focus parameter to True. To remove focus from the column, set the focus parameter to False. Note: The system does not convert a text string of True or False as input for the Boolean value parameter. |
Int32 column, Boolean value |
Void |
SelectColumn |
Focuses (or removes focus) for the column identified by the column name parameter. To focus the column, set the focus parameter to True. To remove focus from the column, set the focus parameter to False. Note: The system does not convert a text string o True or False as input for the Boolean value parameter. |
String columnName, Boolean value |
Void |
SelectRow |
Focuses or removes focus for the row identified by the row index parameter. To focus the row, set the focus parameter to True. To remove focus from the row, set the focus parameter to False. Note: The system does not convert a text string o True or False as input for the Boolean value parameter. |
Int32 row, Boolean value |
Void |
SelectRow |
Focuses (or removes focus) for the row identified by the expression parameter. To focus the row, set the focus parameter to True. To remove focus from the row, set the focus parameter to False. Note: The system does not convert a text string of True or False as input for the Boolean value parameter. |
String expression, Boolean value |
Void |
SetCellValue |
Sets the value of cell, identified by the row index and column index, to the string value. Note: For the SAP_AxGridView, calling this method may change the style of the cell. For the SAP_Table, this method only applies to the following cell types: TextField, ComboBox, and CheckBox. |
Int32 row, Int32 column, String value |
Void |
SetCellValue |
Sets the value of cell, identified by the row index and column name, to the string value. Note: For the SAP_AxGridView, calling this method may change the style of the cell. For the SAP_Table, this method only applies to the following cell types: TextField, ComboBox, and CheckBox. |
Int32 row, String columnName, String value |
Void |
SetCellValue |
Set the value of cell in the first row that matches the given expression and column index. Note: For the SAP_AxGridView, calling this method may change the style of the cell. For the SAP_Table, this method only applies to the following cell types: TextField, ComboBox, and CheckBox. |
String expression, Int32 column, String value |
Void |
SetCellValue |
Set the value of cell in the first row that matches the given expression and column name. Note: For the SAP_AxGridView, calling this method may change the style of the cell. For the SAP_Table, this method only applies to the following cell types: TextField, ComboBox, and CheckBox. |
String expression, String columnName, String value |
Void |
The SAP Advanced Treelist (SAPTreeList) target when interrogated in Studio creates the SAP_AxTreeView control. The control has these properties, methods, and events:
Property |
Description |
Count |
Applies to the TreeView and TreeViewNode (treeNodeProxy) controls. Gets the total number of TreeView nodes. For the treeNodeProxy control, this property gets the number of child nodes under the specific node. (Int32 type) |
IsExpanded |
Applies to the TreeViewNode (treeNodeProxy) control. Gets a True value if the TreeNode is expanded. (Boolean) |
IsSelected |
Applies to the TreeViewNode (treeNodeProxy) control. Gets a True value if the treeNodeProxy is selected. (Boolean) |
Nodes |
Applies to the TreeView and TreeViewNode (treeNodeProxy) controls. Gets a collection of TreeView nodes (IList[] type). |
Parent |
Applies to the TreeViewNode (treeNodeProxy) control. Gets the parent node of the currently selected node. (TreeNode type) |
PathSeparator |
Applies to the TreeView control. Gets the character used to delineate child nodes in the path string identifying a particular node. This property also displays in the Properties window. |
RootNode |
Applies to the TreeView control. Gets the main (root) node for the TreeView. (TreeNode type) |
SelectedNode |
Applies to the TreeView control. Gets the currently selected TreeView node (TreeNode type). |
Text |
Applies to the TreeViewNode (treeNodeProxy) control. Gets the text for the currently selected TreeView node. (String type) |
Events
Event |
Description |
NodeClicked |
Occurs when the user clicks on a TreeView node. |
NodeDoubleClicked |
Not implemented for SAP_AxTreeView. |
NodeSelected |
Not implemented for SAP_AxTreeView. |
Methods
Method |
Description |
Parameters |
Return Type |
ClickNode |
Not implemented for SAP_AxTreeView. |
String path |
Boolean |
ClickNodeByRegex |
Not implemented for SAP_AxTreeView. |
String regex |
Boolean |
ClickNodeByText |
Not implemented for SAP_AxTreeView. |
String text |
Boolean |
CollapseAll |
Applies to the TreeView and TreeViewNode (treeNodeProxy) controls. Use this method to collapse all currently expanded nodes. |
None |
Void |
Collapse |
Applies to the TreeViewNode (treeNodeProxy) controls. Use this method to collapse the currently selected node. |
None |
Void |
CollapseNode |
Use this method to collapse the node selected by the input path parameter, such as SAP menu/Office. |
String path |
Boolean |
CollapseNodeByRegex |
Use this method to collapse the node selected by specifying the node text in regex syntax. |
String regex |
Boolean |
CollapseNodeByText |
Use this method to collapse the node selected by the node text input parameter, such as Office. |
String text |
Boolean |
DoubleClickNode |
Not implemented for SAP_AxTreeView. |
String path |
Boolean |
DoubleClickNodeByRegex |
Not implemented for SAP_AxTreeView. |
String regex |
Boolean |
DoubleClickNodeByText |
Not implemented for SAP_AxTreeView. |
String text |
Boolean |
EnsureVisible |
Applies to the TreeView and TreeViewNode (treeNodeProxy) controls. Use this method to expand the nodes in the TreeView so the node identified by the path parameter is visible. |
String path |
Boolean |
Expand |
Applies to the TreeViewNode (treeNodeProxy) controls. Use this method to expand all nodes under the currently selected node. |
None |
Void |
ExpandAll |
Applies to the TreeView and TreeViewNode (treeNodeProxy) controls. Use this method to expand all nodes in the tree (for the TreeView control) or expand all nodes under the currently selected node (for the treeNodeProxy control). |
None |
Void |
ExpandNode |
Use this method to expand a node using the path parameter. |
String path |
Boolean |
ExpandNodeByRegex |
Use this method to expand a node selected by specifying the node text in regex syntax. |
String regex |
Boolean |
ExpandNodeByText |
Use this method to expand a node selected by the node text input parameter. |
String text |
Boolean |
GetRootItemTextByIndex |
Not implemented for SAP_AxTreeView. |
Int32 index |
Boolean |
Select |
Not implemented for SAP_AxTreeView. Applies to the TreeViewNode (treeNodeProxy) controls. |
None |
Void |
SelectNode |
Use this method to select a node using the path parameter. |
String path |
Boolean |
SelectNodeByRegex |
Use this method to select a node using by specifying node text in regex syntax. |
String regex |
Boolean |
SelectNodeByText |
Use this method to select a node using the node text input parameter. |
String text |
Boolean |
SelectRootItemByIndex |
Not implemented for SAP_AxTreeView. |
Int32 index |
Boolean |
Toggle |
Not implemented for SAP_AxTreeView. Applies to the TreeViewNode (treeNodeProxy) controls. |
None |
Void |
Privacy | Trademarks | Terms of Use | Feedback
Updated: 18 June 2020
© 2016 - 2020 Pegasystems Inc. Cambridge, MA All rights reserved.